package com.ruoyi.custom.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;


import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 客户对象 tb_custom
 *
 * @author ruoyi
 * @date 2025-07-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value="tb_custom")
@ApiModel(value = "Custom ", description = "客户对象")
public class Custom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @TableId(type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 编号 */
    @ApiModelProperty("编号")
    @Excel(name = "编号")
    private String no;

    /** 姓名 */
    @ApiModelProperty("姓名")
    @Excel(name = "姓名")
    private String name;

    /** 电话 */
    @ApiModelProperty("电话")
    @Excel(name = "电话")
    private String phone;

    /** 别名 */
    @ApiModelProperty("别名")
    @Excel(name = "别名")
    private String nickName;

    /** 性别 */
    @ApiModelProperty("性别")
    @Excel(name = "性别")
    private String sex;

    /** 渠道 */
    @ApiModelProperty("渠道")
    @Excel(name = "渠道")
    private String channel;

    /** 星级 */
    @ApiModelProperty("星级")
    @Excel(name = "星级")
    private Long level;

    /** 状态(1待签约2已签约3已完成) */
    @ApiModelProperty("状态(1待签约2已签约3已完成)")
    @Excel(name = "状态(1待签约2已签约3已完成)")
    private String status;

    /** 分组(1新分派2新客户3拓展4抵押5锁定6ABCDE类) */
    @ApiModelProperty("分组(1新分派2新客户3拓展4抵押5锁定6ABCDE类)")
    @Excel(name = "分组(1新分派2新客户3拓展4抵押5锁定6ABCDE类)")
    private String groupType;

    /** 其他资质 */
    @ApiModelProperty("其他资质")
    @Excel(name = "其他资质")
    private String otherCert;

    /** 附属信息 */
    @ApiModelProperty("附属信息")
    @Excel(name = "附属信息")
    private String sateInfo;

    /** 跟进人id */
    @ApiModelProperty("跟进人id")
    @Excel(name = "跟进人id")
    private Long userId;


    /** 分派时间 */
    @ApiModelProperty("分派时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "分派时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date followTime;

    /** 跟进人 */
    @ApiModelProperty("跟进人")
    @Excel(name = "跟进人")
    private String userName;

    /** 是否是公共池（1否2是） */
    @ApiModelProperty("是否是公共池")
    private String publicPool;


}
